﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using Domain; //подключение Domain
using Session; //подключение Session
using Notif; //подключение Notif

namespace Type
{
    public partial class FormTp : Form
    {
        BrokerTp b_tp = new BrokerTp(); // объявление BrokerTp
        FormTpUpd f_tpUpd = new FormTpUpd(); // объявление FormTpUpd

        public FormTp()
        {
            InitializeComponent();
        }

        private void Tp_sBt_Insr_Click(object sender, EventArgs e) // открытие формы "Добавить"
        {
            FormTpInsr f_tpInsr = new FormTpInsr();
            f_tpInsr.ShowDialog();
        }

        private void Tp_sBt_Upd_Click(object sender, EventArgs e) // открытие формы "Редактирование"
        {
            f_tpUpd.ShowDialog();
        }

        private void Tp_sBt_Del_Click(object sender, EventArgs e) // удаление записи
        {
            if (MessNotif.Question("Удалить запись?", "Удаление записи") == true) // вызов сообщение, если ответ "Да", то
            {
                Dm_Type tp = new Dm_Type(); // объявление Dm_Pers

                tp.Id_type = Convert.ToInt32(f_tpUpd.label2.Text); // присвоение значений Id_pers из label2

                b_tp.Delete(tp); // вызов функции удаления

                FillGrid(); // вызов функции заполнения Grid 
            }
        }

        private void Tp_sBt_Ex_Click(object sender, EventArgs e) // закрытие формы
        {
            this.Close();
        }

        private void Tp_dGV_Tp_SelectionChanged(object sender, EventArgs e) // метод на отслеживание и заполнение из Tp_dGV_Tp
        {
            DataGridViewCell cell = null; // объявление DataGridViewCell и его обнуление

            foreach (DataGridViewCell selectedCell in Tp_dGV_Tp.SelectedCells) // цикл на выбор ячейки, при выборе ячейки из Tp_dGV_Tp, это значение устанавливается в selectedCell 
            {
                cell = selectedCell; // приравнивание cell и selectedCell
                break; // перерывание цикла
            }

            if (cell != null) // если cell не пустой, то
            {
                DataGridViewRow row = cell.OwningRow; // объявление DataGridViewRow и присвоение ему текущего ряда 

                f_tpUpd.label2.Text = row.Cells[0].Value.ToString(); // передача значения из в f_PrsUpd.label7
                f_tpUpd.Tp_Upd_tE_Tp.Text = row.Cells[1].Value.ToString();
            }
        }

        private void FormTp_Activated(object sender, EventArgs e) // при навидение фокуса, Grid перезаполняется
        {
            FillGrid(); // вызов функции заполнения Grid 
        }
        private void FillGrid() // функции заполнения Grid
        {
            Tp_dGV_Tp.DataSource = b_tp.FillGrid(); // вызов функции заполнения

            Tp_dGV_Tp.Columns[0].Visible = false;

            Tp_dGV_Tp.Columns[1].HeaderText = "Типы заказов";

            Tp_dGV_Tp.AutoResizeColumns();
            //Prs_dGV_Prs.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
        }
    }
}
